export type TaskStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'cancelled'

export interface Task {
  id: string
  filename: string
  originalSize: number
  outputFormat: string
  outputSize?: number
  status: TaskStatus
  progress: number
  createdAt: Date
  startedAt?: Date
  completedAt?: Date
  failedAt?: Date
  cancelledAt?: Date
  error?: string
  outputUrl?: string
  currentStep?: string
  userId?: string
}

export interface TaskFilter {
  status?: TaskStatus
  search?: string
  dateFrom?: Date
  dateTo?: Date
}

export interface TaskStats {
  total: number
  pending: number
  processing: number
  completed: number
  failed: number
  cancelled: number
}